package com.vhall.component.entity.gift.vo;

import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
 * GiftRecordExportVO-
 *
 * @author xing.wang
 * @date 2022/10/12
 */
@Data
public class GiftRecordExportVO implements Serializable {
    /**
     * PAAS直播房间id
     * lss_b7763asd
     */
    @ParamName("room_id")
    @NotBlank(message = "房间id不能为空")
    private String roomId;
    /**
     * 用户令牌
     */
    @NotBlank(message = "用户登录令牌不能为空")
    private String token;
    /**
     * 排序规则: [正序:asc,倒序:desc]
     */
    @ParamName("sort_type")
    private String sortType;
    /**
     * 统计开始时间
     */
    @ParamName("start_time")
    @NotNull(message = "统计开始时间为必填")
    @Pattern(message = "开始时间格式错误", regexp = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)$")
    private String startTime;
    /**
     * 统计结束时间
     */
    @ParamName("end_time")
    @NotNull(message = "统计结束时间为必填")
    @Pattern(message = "结束时间格式错误", regexp = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)$")
    private String endTime;
    /**
     * 请求来自什么位置
     */
    private String from;
    /**
     * 是否是英文
     * 0:非英文,1:英文
     */
    private Integer en;
}
